package com;

/**
 * 适配器模式：
 * 将一个类的接口转换成客户希望的另外一个接口，适配器模式使得原本由于接口不带兼容而不能一起工作的那些类可以一起工作
 */
public class AdapterModel {
    public static void main(String[] args) {
        PowerA power=new PowerAimpl();
        work(power);
        PowerB powerB=new PowerBimpl();
        Adapter adapter=new Adapter(powerB);
        work(adapter);

    }

    public static void work(PowerA power){
        System.out.println("开始工作了。。。。");
        power.insert();
        System.out.println("结束工作了。。。。");
    }
}
//适配器
class Adapter implements PowerA{
    private PowerB powerB;
    Adapter(PowerB powerB){
        this.powerB=powerB;
    }

    @Override
    public void insert() {
        powerB.insert();
    }
}


interface PowerA{
    void insert();
}
class PowerAimpl implements PowerA{
    @Override
    public void insert() {
        System.out.println("powerA插入电源。。。。。。");
    }
}

interface PowerB{
    void insert();
}

class PowerBimpl implements PowerB{

    @Override
    public void insert() {
        System.out.println("powerB开始工作了");
    }
}
